home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / optivc32 / vemath.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-03-06  |  37.2 KB  |  817 lines

  1. /*  VEmath.h
  2.  
  3.   vector management functions:
  4.   math functions performed on each individual element of an
  5.   array or vector of the data type "extended";   real numbers
  6.  
  7.   Copyright (c) 1996-1999 by Martin Sander
  8.   All Rights Reserved.
  9. */
  10.  
  11. #ifndef __VEMATH_H
  12. #define __VEMATH_H
  13.  
  14. #ifndef __VESTD_H 
  15. #include <VEstd.h>
  16. #endif
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22.  
  23. #ifdef __BORLANDC__   /* 80-bit IEEE numbers supported.
  24.                          The following  330 lines apply 
  25.                          only to Borland C++            */
  26.  
  27. /**************************  Rounding **********************************/
  28.  
  29. int  __vf   VE_round(  eVector  Y, eVector X, ui size );
  30. int  __vf   VE_roundtoBI( biVector Y, eVector X, ui size );
  31. int  __vf   VE_roundtoSI( siVector Y, eVector X, ui size );
  32. int  __vf   VE_roundtoI(  iVector  Y, eVector X, ui size );
  33. int  __vf   VE_roundtoLI( liVector Y, eVector X, ui size );
  34. int  __vf   VE_roundtoQI( qiVector Y, eVector X, ui size );
  35. int  __vf   VE_roundtoUB( ubVector Y, eVector X, ui size );
  36. int  __vf   VE_roundtoUS( usVector Y, eVector X, ui size );
  37. int  __vf   VE_roundtoU(  uVector  Y, eVector X, ui size );
  38. int  __vf   VE_roundtoUL( ulVector Y, eVector X, ui size );
  39.  
  40. int  __vf   VE_floor(  eVector  Y, eVector X, ui size );
  41. int  __vf   VE_floortoBI( biVector Y, eVector X, ui size );
  42. int  __vf   VE_floortoSI( siVector Y, eVector X, ui size );
  43. int  __vf   VE_floortoI(  iVector  Y, eVector X, ui size );
  44. int  __vf   VE_floortoLI( liVector Y, eVector X, ui size );
  45. int  __vf   VE_floortoQI( qiVector Y, eVector X, ui size );
  46. int  __vf   VE_floortoUB( ubVector Y, eVector X, ui size );
  47. int  __vf   VE_floortoUS( usVector Y, eVector X, ui size );
  48. int  __vf   VE_floortoU(  uVector  Y, eVector X, ui size );
  49. int  __vf   VE_floortoUL( ulVector Y, eVector X, ui size );
  50.  
  51. int  __vf   VE_ceil(  eVector  Y, eVector X, ui size );
  52. int  __vf   VE_ceiltoBI( biVector Y, eVector X, ui size );
  53. int  __vf   VE_ceiltoSI( siVector Y, eVector X, ui size );
  54. int  __vf   VE_ceiltoI(  iVector  Y, eVector X, ui size );
  55. int  __vf   VE_ceiltoLI( liVector Y, eVector X, ui size );
  56. int  __vf   VE_ceiltoQI( qiVector Y, eVector X, ui size );
  57. int  __vf   VE_ceiltoUB( ubVector Y, eVector X, ui size );
  58. int  __vf   VE_ceiltoUS( usVector Y, eVector X, ui size );
  59. int  __vf   VE_ceiltoU(  uVector  Y, eVector X, ui size );
  60. int  __vf   VE_ceiltoUL( ulVector Y, eVector X, ui size );
  61.  
  62. int  __vf   VE_chop(  eVector  Y, eVector X, ui size );
  63. int  __vf   VE_choptoBI( biVector Y, eVector X, ui size );
  64. int  __vf   VE_choptoSI( siVector Y, eVector X, ui size );
  65. int  __vf   VE_choptoI(  iVector  Y, eVector X, ui size );
  66. int  __vf   VE_choptoLI( liVector Y, eVector X, ui size );
  67. int  __vf   VE_choptoQI( qiVector Y, eVector X, ui size );
  68. int  __vf   VE_choptoUB( ubVector Y, eVector X, ui size );
  69. int  __vf   VE_choptoUS( usVector Y, eVector X, ui size );
  70. int  __vf   VE_choptoU(  uVector  Y, eVector X, ui size );
  71. int  __vf   VE_choptoUL( ulVector Y, eVector X, ui size );
  72.  
  73. #define     VE_trunc      VE_chop
  74. #define     VE_trunctoBI  VE_choptoBI
  75. #define     VE_trunctoSI  VE_choptoSI
  76. #define     VE_trunctoI   VE_choptoI
  77. #define     VE_trunctoLI  VE_choptoLI
  78. #define     VE_trunctoQI  VE_choptoQI
  79. #define     VE_trunctoUB  VE_choptoUB
  80. #define     VE_trunctoUS  VE_choptoUS
  81. #define     VE_trunctoU   VE_choptoU
  82. #define     VE_trunctoUL  VE_choptoUL
  83.  
  84. #if defined V_HUGE
  85.       #define   VE_roundtoUI   VE_roundtoUL
  86.       #define   VE_floortoUI   VE_floortoUL
  87.       #define   VE_ceiltoUI    VE_ceiltoUL
  88.       #define   VE_choptoUI    VE_choptoUL
  89.       #define   VE_trunctoUI   VE_trunctoUL
  90. #else
  91.       #define   VE_roundtoUI   VE_roundtoU
  92.       #define   VE_floortoUI   VE_floortoU
  93.       #define   VE_ceiltoUI    VE_ceiltoU
  94.       #define   VE_choptoUI    VE_choptoU
  95.       #define   VE_trunctoUI   VE_trunctoU
  96. #endif
  97.  
  98. /********************  Comparisons   ********************/
  99.  
  100. void __vf   VE_cmp0(    eVector Y, eVector X, ui size );
  101. ui   __vf   VE_cmp_eq0( eVector Y, eVector X, ui size );
  102. ui   __vf   VE_cmp_ne0( eVector Y, eVector X, ui size );
  103. ui   __vf   VE_cmp_le0( eVector Y, eVector X, ui size );
  104. ui   __vf   VE_cmp_lt0( eVector Y, eVector X, ui size );
  105. ui   __vf   VE_cmp_ge0( eVector Y, eVector X, ui size );
  106. ui   __vf   VE_cmp_gt0( eVector Y, eVector X, ui size );
  107.  
  108. ui   __vf   VE_cmp_eq0ind( uiVector Ind, eVector X, ui size );
  109. ui   __vf   VE_cmp_ne0ind( uiVector Ind, eVector X, ui size );
  110. ui   __vf   VE_cmp_le0ind( uiVector Ind, eVector X, ui size );
  111. ui   __vf   VE_cmp_lt0ind( uiVector Ind, eVector X, ui size );
  112. ui   __vf   VE_cmp_ge0ind( uiVector Ind, eVector X, ui size );
  113. ui   __vf   VE_cmp_gt0ind( uiVector Ind, eVector X, ui size );
  114.  
  115. void __vf   VE_cmpC(    eVector Y, eVector X, ui size, extended C );
  116. ui   __vf   VE_cmp_eqC( eVector Y, eVector X, ui size, extended C );
  117. ui   __vf   VE_cmp_neC( eVector Y, eVector X, ui size, extended C );
  118. ui   __vf   VE_cmp_leC( eVector Y, eVector X, ui size, extended C );
  119. ui   __vf   VE_cmp_ltC( eVector Y, eVector X, ui size, extended C );
  120. ui   __vf   VE_cmp_geC( eVector Y, eVector X, ui size, extended C );
  121. ui   __vf   VE_cmp_gtC( eVector Y, eVector X, ui size, extended C );
  122.  
  123. ui   __vf   VE_cmp_eqCind( uiVector Ind, eVector X, ui size, extended C );
  124. ui   __vf   VE_cmp_neCind( uiVector Ind, eVector X, ui size, extended C );
  125. ui   __vf   VE_cmp_leCind( uiVector Ind, eVector X, ui size, extended C );
  126. ui   __vf   VE_cmp_ltCind( uiVector Ind, eVector X, ui size, extended C );
  127. ui   __vf   VE_cmp_geCind( uiVector Ind, eVector X, ui size, extended C );
  128. ui   __vf   VE_cmp_gtCind( uiVector Ind, eVector X, ui size, extended C );
  129.  
  130. void __vf   VE_cmpV(    eVector Z, eVector X, eVector Y, ui size );
  131. ui   __vf   VE_cmp_eqV( eVector Z, eVector X, eVector Y, ui size );
  132. ui   __vf   VE_cmp_neV( eVector Z, eVector X, eVector Y, ui size );
  133. ui   __vf   VE_cmp_leV( eVector Z, eVector X, eVector Y, ui size );
  134. ui   __vf   VE_cmp_ltV( eVector Z, eVector X, eVector Y, ui size );
  135. ui   __vf   VE_cmp_geV( eVector Z, eVector X, eVector Y, ui size );
  136. ui   __vf   VE_cmp_gtV( eVector Z, eVector X, eVector Y, ui size );
  137.  
  138. ui   __vf   VE_cmp_eqVind( uiVector Ind, eVector X, eVector Y, ui size );
  139. ui   __vf   VE_cmp_neVind( uiVector Ind, eVector X, eVector Y, ui size );
  140. ui   __vf   VE_cmp_leVind( uiVector Ind, eVector X, eVector Y, ui size );
  141. ui   __vf   VE_cmp_ltVind( uiVector Ind, eVector X, eVector Y, ui size );
  142. ui   __vf   VE_cmp_geVind( uiVector Ind, eVector X, eVector Y, ui size );
  143. ui   __vf   VE_cmp_gtVind( uiVector Ind, eVector X, eVector Y, ui size );
  144.  
  145. ui   __vf   VE_cmp_inclrange0C( eVector Y, eVector X, ui size, extended C );
  146. ui   __vf   VE_cmp_exclrange0C( eVector Y, eVector X, ui size, extended C );
  147. ui   __vf   VE_cmp_inclrangeCC( eVector Y, eVector X, ui size, extended CLo, extended CHi );
  148. ui   __vf   VE_cmp_exclrangeCC( eVector Y, eVector X, ui size, extended CLo, extended CHi );
  149.  
  150. ui   __vf   VE_cmp_inclrange0Cind( uiVector Ind, eVector X, ui size, extended C );
  151. ui   __vf   VE_cmp_exclrange0Cind( uiVector Ind, eVector X, ui size, extended C );
  152. ui   __vf   VE_cmp_inclrangeCCind( uiVector Ind, eVector X, ui size, extended CLo, extended CHi );
  153. ui   __vf   VE_cmp_exclrangeCCind( uiVector Ind, eVector X, ui size, extended CLo, extended CHi );
  154.  
  155.  
  156. /********************  Standard Arithmetics   ***************************/
  157.  
  158. void  __vf  VE_equC( eVector X, ui size, extended C );
  159. void  __vf  VE_equV( eVector Y, eVector X, ui size );
  160. void  __vf  VEx_equV( eVector Y, eVector X, ui size, extended A, extended B );
  161.  
  162. void  __vf  VE_addC(  eVector Y, eVector X, ui size, extended C );
  163. void  __vf  VE_subC(  eVector Y, eVector X, ui size, extended C );
  164. void  __vf  VE_subrC( eVector Y, eVector X, ui size, extended C );
  165. void  __vf  VE_mulC(  eVector Y, eVector X, ui size, extended C );
  166. void  __vf  VE_divC(  eVector Y, eVector X, ui size, extended C );
  167. void  __vf  VE_divrC( eVector Y, eVector X, ui size, extended C );
  168. void  __vf  VEx_divrC( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  169.  
  170. void  __vf  VE_addV(  eVector Z, eVector X, eVector Y, ui size );
  171. void  __vf  VE_subV(  eVector Z, eVector X, eVector Y, ui size );
  172. void  __vf  VE_subrV( eVector Z, eVector X, eVector Y, ui size );
  173. void  __vf  VE_mulV(  eVector Z, eVector X, eVector Y, ui size );
  174. void  __vf  VE_divV(  eVector Z, eVector X, eVector Y, ui size );
  175. void  __vf  VE_divrV( eVector Z, eVector X, eVector Y, ui size );
  176.  
  177. void  __vf  VEx_addV(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  178.                                  /* Z = (A*X+B) + Y */
  179. void  __vf  VEx_subV(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  180. void  __vf  VEx_subrV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  181. void  __vf  VEx_mulV(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  182. void  __vf  VEx_divV(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  183. void  __vf  VEx_divrV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  184.  
  185. void  __vf  VEs_addV(  eVector Z, eVector X, eVector Y, ui size, extended C ); /* Z=C*(X+Y) */
  186. void  __vf  VEs_subV(  eVector Z, eVector X, eVector Y, ui size, extended C );
  187. void  __vf  VEs_subrV( eVector Z, eVector X, eVector Y, ui size, extended C );
  188. void  __vf  VEs_mulV(  eVector Z, eVector X, eVector Y, ui size, extended C );
  189. void  __vf  VEs_divV(  eVector Z, eVector X, eVector Y, ui size, extended C );
  190. void  __vf  VEs_divrV( eVector Z, eVector X, eVector Y, ui size, extended C );
  191.  
  192. void  __vf  VE_maxC(   eVector Y, eVector X, ui size, extended C );
  193. void  __vf  VE_minC(   eVector Y, eVector X, ui size, extended C );
  194. void  __vf  VE_limit(  eVector Y, eVector X, ui size, extended Min, extended Max );
  195. void  __vf  VE_flush0( eVector Y, eVector X, ui size, extended AbsMin );
  196. void  __vf  VE_maxV(   eVector Z, eVector X, eVector Y, ui size );
  197. void  __vf  VE_minV(   eVector Z, eVector X, eVector Y, ui size );
  198. void  __vf  VE_modC(   eVector Y, eVector X, ui size, extended C );
  199. void  __vf  VE_modV(   eVector Z, eVector X, eVector Y, ui size );
  200. void  __vf  VEx_modV(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  201. #define     VE_fmodC    VE_modC
  202. #define     VE_fmodV    VE_modV
  203. #define     VEx_fmodV   VEx_modV
  204.  
  205. void __vf  VE_redC(  eVector Y, eVector X, ui size, extended C );
  206. void __vf  VE_redV(  eVector Z, eVector X, eVector Y, ui size );
  207. void __vf  VEx_redV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  208. void __vf  VE_visC(  eVector Y, eVector X, ui size, extended C );
  209. void __vf  VE_visV(  eVector Z, eVector X, eVector Y, ui size );
  210. void __vf  VEx_visV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  211. void __vf  VE_hypC(  eVector Y, eVector X, ui size, extended C );
  212. void __vf  VE_hypV(  eVector Z, eVector X, eVector Y, ui size );
  213. void __vf  VEx_hypV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  214.  
  215. void __vf VE_lincomb( eVector Z, eVector X, eVector Y, ui size,
  216.                       extended CX, extended CY );  /* Z[i]=CX*X[i]+CY*Y[i] */
  217.  
  218. #define    VE_sgn    VE_cmp0
  219.  
  220. /******************** Accumulation (Y += X) ******************************/
  221.  
  222. void __vf VE_accV(   eVector Y, eVector  X, ui size );
  223. void __vf VE_accVF(  eVector Y, fVector  X, ui size );
  224. void __vf VE_accVD(  eVector Y, dVector  X, ui size );
  225. void __vf VE_accVBI( eVector Y, biVector X, ui size );
  226. void __vf VE_accVSI( eVector Y, siVector X, ui size );
  227. void __vf VE_accVI(  eVector Y, iVector  X, ui size );
  228. void __vf VE_accVLI( eVector Y, liVector X, ui size );
  229. void __vf VE_accVQI( eVector Y, qiVector X, ui size );
  230. void __vf VE_accVUB( eVector Y, ubVector X, ui size );
  231. void __vf VE_accVUS( eVector Y, usVector X, ui size );
  232. void __vf VE_accVU(  eVector Y, uVector  X, ui size );
  233. void __vf VE_accVUL( eVector Y, ulVector X, ui size );
  234. #if defined V_HUGE
  235.     #define VE_accVUI  VE_accVUL
  236. #else
  237.     #define VE_accVUI  VE_accVU
  238. #endif
  239.  
  240. /***************** Functions of a sub-set of elements  ********************/
  241.  
  242. void  __vf  VE_subvector_equC(  eVector Y, ui subsiz, unsigned samp, extended C );
  243. void  __vf  VE_subvector_equV(  eVector Y, ui subsiz, unsigned samp, eVector X );
  244.  
  245. void  __vf  VE_subvector_addC(  eVector Y, ui subsiz, unsigned samp, extended C );
  246. void  __vf  VE_subvector_subC(  eVector Y, ui subsiz, unsigned samp, extended C );
  247. void  __vf  VE_subvector_subrC( eVector Y, ui subsiz, unsigned samp, extended C );
  248. void  __vf  VE_subvector_mulC(  eVector Y, ui subsiz, unsigned samp, extended C );
  249. void  __vf  VE_subvector_divC(  eVector Y, ui subsiz, unsigned samp, extended C );
  250. void  __vf  VE_subvector_divrC( eVector Y, ui subsiz, unsigned samp, extended C );
  251.  
  252. void  __vf  VE_subvector_addV(  eVector Y, ui subsiz, unsigned samp, eVector X );
  253. void  __vf  VE_subvector_subV(  eVector Y, ui subsiz, unsigned samp, eVector X );
  254. void  __vf  VE_subvector_subrV( eVector Y, ui subsiz, unsigned samp, eVector X );
  255. void  __vf  VE_subvector_mulV(  eVector Y, ui subsiz, unsigned samp, eVector X );
  256. void  __vf  VE_subvector_divV(  eVector Y, ui subsiz, unsigned samp, eVector X );
  257. void  __vf  VE_subvector_divrV( eVector Y, ui subsiz, unsigned samp, eVector X );
  258.  
  259.  
  260. /**********************  Mathematical Functions ***********************/
  261.  
  262. int   __vf   VE_abs( eVector Y, eVector X, ui size );
  263. int   __vf   VE_neg( eVector Y, eVector X, ui size );
  264. int   __vf   VE_inv( eVector Y, eVector X, ui size );
  265. int   __vf   VEx_inv( eVector Y, eVector X, ui size, extended A, extended B );
  266. int   __vf   VE_intfrac( eVector Int, eVector Frac, eVector X, ui size );
  267. #define      VE_modf    VE_intfrac
  268. int   __vf   VE_mantexp( eVector Mant, iVector Exp, eVector X, ui size );
  269. #define      VE_frexp   VE_mantexp
  270.  
  271. int  __vf    VE_hypotC( eVector Y, eVector X, ui size, extended C );
  272. int  __vf    VE_hypotV( eVector Z, eVector X, eVector Y, ui size );
  273. int  __vf    VEx_hypotV( eVector Z, eVector X, eVector Y, ui size, extended A, extended B );
  274.  
  275. int  __vf    VE_scale2( eVector Y, eVector X, ui size, int expo );
  276. int  __vf    VE_scale10( eVector Y, eVector X, ui size, int expo );
  277. #define      VE_ldexp    VE_scale2
  278.  
  279. int  __vf    VE_square( eVector Y, eVector X, ui size );
  280. int  __vf    VEx_square( eVector Y, eVector X, ui size, extended A, extended B );
  281. int  __vf    VE_cubic( eVector Y, eVector X, ui size );
  282. int  __vf    VEx_cubic( eVector Y, eVector X, ui size, extended A, extended B );
  283. int  __vf    VE_quartic( eVector Y, eVector X, ui size );
  284. int  __vf    VEx_quartic( eVector Y, eVector X, ui size, extended A, extended B );
  285. int  __vf    VE_poly( eVector Y, eVector X, ui size, eVector Coeff, unsigned deg );
  286. int  __vf    VEx_poly( eVector Y, eVector X, ui size, eVector Coeff, unsigned deg, extended A, extended B );
  287. int  __vf    VE_ipow( eVector Y, eVector X, ui size, int ipow );
  288. int  __vf    VEx_ipow( eVector Y, eVector X, ui size, int ipow, extended A, extended B, extended C );
  289.                           /* ipow: integer powers of x */
  290.  
  291.          /* extra fast powers: "unprotected", without error handling: */
  292. int  __vf    VEu_square( eVector Y, eVector X, ui size ); /* fast, unprotected versions */
  293. int  __vf    VEux_square( eVector Y, eVector X, ui size, extended A, extended B );
  294. int  __vf    VEu_cubic( eVector Y, eVector X, ui size );
  295. int  __vf    VEux_cubic( eVector Y, eVector X, ui size, extended A, extended B );
  296. int  __vf    VEu_quartic( eVector Y, eVector X, ui size );
  297. int  __vf    VEux_quartic( eVector Y, eVector X, ui size, extended A, extended B );
  298. int  __vf    VEu_poly( eVector Y, eVector X, ui size, eVector Coeff, unsigned deg );
  299. int  __vf    VEux_poly( eVector Y, eVector X, ui size, eVector Coeff, unsigned deg, extended A, extended B );
  300. int  __vf    VEu_ipow( eVector Y, eVector X, ui size, int ipow );
  301. int  __vf    VEux_ipow( eVector Y, eVector X, ui size, int ipow, extended A, extended B, extended C );
  302.  
  303. int  __vf    VE_ipow2(  eVector Y, iVector X, ui size );
  304. int  __vf    VE_ipow10( eVector Y, iVector X, ui size );
  305.                           /* ipow2 and ipow10: integer powers of 2 and 10 */
  306.  
  307. int  __vf   VE_pow(    eVector Y, eVector X, ui size, extended expo );
  308. int  __vf   VEx_pow(   eVector Y, eVector X, ui size, extended expo, extended A, extended B, extended C );
  309. int  __vf   VE_pow2(   eVector Y, eVector X, ui size );
  310. int  __vf   VEx_pow2(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  311. int  __vf   VE_pow10(  eVector Y, eVector X, ui size );
  312. int  __vf   VEx_pow10( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  313.                           /* pow2 and pow10: powers of 2 and 10 */
  314.  
  315. int  __vf   VE_sqrt(  eVector Y, eVector X, ui size );
  316. int  __vf   VEx_sqrt( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  317.  
  318. int  __vf   VE_log(    eVector Y, eVector X, ui size );
  319. int  __vf   VE_log2(   eVector Y, eVector X, ui size );
  320. int  __vf   VE_log10(  eVector Y, eVector X, ui size );
  321. #define     VE_ln    VE_log
  322. int  __vf   VEx_log(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  323. int  __vf   VEx_log2(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  324. int  __vf   VEx_log10( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  325. #define     VEx_ln   VEx_log
  326.  
  327. int  __vf   VE_OD( eVector OD, eVector X, eVector X0, ui size );  /* OD = log10( X0/X ) */
  328. int  __vf   VE_ODwDark( eVector OD, eVector X, eVector XDark,
  329.                         eVector X0, eVector X0Dark, ui size );
  330. void __vf   VE_setODThresh( extended minX, extended minX0 );
  331.  
  332. int  __vf   VE_exp(   eVector Y, eVector X, ui size );
  333. int  __vf   VEx_exp(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  334. int  __vf   VE_expArbBase(  eVector Y, eVector X, ui size, extended Base );
  335. int  __vf   VEx_expArbBase( eVector Y, eVector X, ui size, extended Base,
  336.                             extended A, extended B, extended C );
  337. int  __vf   VE_expc(  eVector Y, eVector X, ui size );
  338. int  __vf   VEx_expc( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  339. int  __vf   VE_exp2(  eVector Y, eVector X, ui size );
  340. int  __vf   VEx_exp2( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  341. int  __vf   VE_exp2(  eVector Y, eVector X, ui size );
  342. int  __vf   VEx_exp2( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  343. int  __vf   VE_exp10(  eVector Y, eVector X, ui size );
  344. int  __vf   VEx_exp10( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  345.                        /* exp2 and exp10 used as synonyms for pow2 and pow10 */
  346. int  __vf   VE_expmx2(  eVector Y, eVector X, ui size );
  347. int  __vf   VEx_expmx2( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  348.                         /* expmx2(x) = exp( -x**2 ) */
  349.  
  350. int  __vf   VE_erf(     eVector Y, eVector X, ui size );
  351. int  __vf   VEx_erf(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  352. int  __vf   VE_erfc(    eVector Y, eVector X, ui size );
  353. int  __vf   VEx_erfc(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  354. int  __vf   VE_Gauss(   eVector Y, eVector X, ui size, extended Wid, extended Cent, extended C );
  355. int  __vf   VE_Lorentz( eVector Y, eVector X, ui size, extended Wid, extended Cent, extended C );
  356.  
  357. int  __vf   VE_sin(     eVector Y, eVector X, ui size );
  358. int  __vf   VEx_sin(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  359. int  __vf   VE_cos(     eVector Y, eVector X, ui size );
  360. int  __vf   VEx_cos(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  361. int  __vf   VE_sincos(  eVector Sin, eVector Cos, eVector X, ui size );
  362. int  __vf   VEx_sincos( eVector Sin, eVector Cos, eVector X, ui size, extended A, extended B, extended C );
  363.  
  364. int  __vf   VE_tan(     eVector Y, eVector X, ui size );
  365. int  __vf   VEx_tan(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  366. int  __vf   VE_cot(     eVector Y, eVector X, ui size );
  367. int  __vf   VEx_cot(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  368.  
  369. int  __vf   VE_sec(     eVector Y, eVector X, ui size );
  370. int  __vf   VEx_sec(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  371. int  __vf   VE_cosec(   eVector Y, eVector X, ui size );
  372. int  __vf   VEx_cosec(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  373.  
  374. int  __vf   VE_sin2(    eVector Y, eVector X, ui size );
  375. int  __vf   VEx_sin2(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  376. int  __vf   VE_cos2(    eVector Y, eVector X, ui size );
  377. int  __vf   VEx_cos2(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  378. int  __vf   VE_sincos2( eVector Sin, eVector Cos, eVector X, ui size );
  379. int  __vf   VEx_sincos2( eVector Sin, eVector Cos, eVector X, ui size, extended A, extended B, extended C );
  380.  
  381. int  __vf   VE_tan2(     eVector Y, eVector X, ui size );
  382. int  __vf   VEx_tan2(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  383. int  __vf   VE_cot2(     eVector Y, eVector X, ui size );
  384. int  __vf   VEx_cot2(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  385. int  __vf   VE_sec2(     eVector Y, eVector X, ui size );
  386. int  __vf   VEx_sec2(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  387. int  __vf   VE_cosec2(   eVector Y, eVector X, ui size );
  388. int  __vf   VEx_cosec2(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  389.  
  390.  /*  reduced-range sine and cosine for -2Pi <= x <= +2Pi */
  391. int  __vf   VEr_sin(    eVector Y, eVector X, ui size );
  392. int  __vf   VErx_sin(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  393. int  __vf   VEr_cos(    eVector Y, eVector X, ui size );
  394. int  __vf   VErx_cos(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  395. int  __vf   VEr_sincos( eVector Sin, eVector Cos, eVector X, ui size );
  396. int  __vf   VErx_sincos( eVector Sin, eVector Cos, eVector X, ui size, extended A, extended B, extended C );
  397. int  __vf   VEr_sin2(    eVector Y, eVector X, ui size );
  398. int  __vf   VErx_sin2(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  399. int  __vf   VEr_cos2(    eVector Y, eVector X, ui size );
  400. int  __vf   VErx_cos2(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  401. int  __vf   VEr_sincos2( eVector Sin, eVector Cos, eVector X, ui size );
  402. int  __vf   VErx_sincos2( eVector Sin, eVector Cos, eVector X, ui size, extended A, extended B, extended C );
  403.  
  404. /* trigonometric functions of rational multiples of Pi: x = p/q * Pi */
  405. int  __vf   VE_sinrpi(   eVector Y, iVector P, ui size, int q );
  406. int  __vf   VE_cosrpi(   eVector Y, iVector P, ui size, int q );
  407. int  __vf   VE_sincosrpi( eVector Sin, eVector Cos, iVector P, ui size, int q );
  408. int  __vf   VE_tanrpi(   eVector Y, iVector P, ui size, int q );
  409. int  __vf   VE_cotrpi(   eVector Y, iVector P, ui size, int q );
  410. int  __vf   VE_secrpi(   eVector Y, iVector P, ui size, int q );
  411. int  __vf   VE_cosecrpi( eVector Y, iVector P, ui size, int q );
  412.  
  413. int  __vf   VE_sinrpi2(  eVector Y, iVector P, ui size, int q );
  414. int  __vf   VE_cosrpi2(  eVector Y, iVector P, ui size, int q );
  415. int  __vf   VE_sincosrpi2( eVector Sin, eVector Cos, iVector P, ui size, int q );
  416. int  __vf   VE_tanrpi2(  eVector Y, iVector P, ui size, int q );
  417. int  __vf   VE_cotrpi2(  eVector Y, iVector P, ui size, int q );
  418. int  __vf   VE_secrpi2(  eVector Y, iVector P, ui size, int q );
  419. int  __vf   VE_cosecrpi2( eVector Y, iVector P, ui size, int q );
  420.  
  421. int  __vf   VE_sinrpi3(  eVector Y, iVector P, ui size, int q );
  422. int  __vf   VE_cosrpi3(  eVector Y, iVector P, ui size, int q );
  423. int  __vf   VE_sincosrpi3( eVector Sin, eVector Cos, iVector P, ui size, int q );
  424. int  __vf   VE_tanrpi3(  eVector Y, iVector P, ui size, int q );
  425. int  __vf   VE_cotrpi3(  eVector Y, iVector P, ui size, int q );
  426. int  __vf   VE_secrpi3(  eVector Y, iVector P, ui size, int q );
  427. int  __vf   VE_cosecrpi3( eVector Y, iVector P, ui size, int q );
  428.  
  429. int  __vf   VE_sinc(     eVector Y, eVector X, ui size );
  430. int  __vf   VEx_sinc(    eVector Y, eVector X, ui size, extended A, extended B, extended C );
  431. int  __vf   VE_Kepler(   eVector Y, eVector X, ui size, long double T, long double e );
  432. int  __vf   VEx_Kepler(  eVector Y, eVector X, ui size, long double T, long double e,
  433.                          long double A, long double B );
  434.  
  435. int  __vf   VE_asin(    eVector Y, eVector X, ui size );
  436. int  __vf   VEx_asin(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  437. int  __vf   VE_acos(    eVector Y, eVector X, ui size );
  438. int  __vf   VEx_acos(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  439. int  __vf   VE_atan(    eVector Y, eVector X, ui size );
  440. int  __vf   VEx_atan(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  441. int  __vf   VE_atan2(   eVector Z, eVector X, eVector Y, ui size );
  442. int  __vf   VEx_atan2(  eVector Z, eVector X, eVector Y, ui size, extended A, extended B, extended C );
  443.  
  444. int  __vf   VE_sinh(    eVector Y, eVector X, ui size );
  445. int  __vf   VEx_sinh(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  446. int  __vf   VE_cosh(    eVector Y, eVector X, ui size );
  447. int  __vf   VEx_cosh(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  448. int  __vf   VE_tanh(    eVector Y, eVector X, ui size );
  449. int  __vf   VEx_tanh(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  450. int  __vf   VE_coth(    eVector Y, eVector X, ui size );
  451. int  __vf   VEx_coth(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  452. int  __vf   VE_sech(    eVector Y, eVector X, ui size );
  453. int  __vf   VEx_sech(   eVector Y, eVector X, ui size, extended A, extended B, extended C );
  454. int  __vf   VE_cosech(  eVector Y, eVector X, ui size );
  455. int  __vf   VEx_cosech( eVector Y, eVector X, ui size, extended A, extended B, extended C );
  456. int  __vf   VE_sech2(   eVector Y, eVector X, ui size );
  457. int  __vf   VEx_sech2(  eVector Y, eVector X, ui size, extended A, extended B, extended C );
  458.  
  459.  
  460. #else   /* no 80-bit IEEE number support with Visual C++:
  461.            the following 340 lines apply only to Visual C++  */
  462.  
  463. #define VE_round        VD_round
  464. #define VE_roundtoSI    VD_roundtoSI
  465. #define VE_roundtoI     VD_roundtoI
  466. #define VE_roundtoLI    VD_roundtoLI
  467. #define VE_roundtoQI    VD_roundtoQI
  468. #define VE_roundtoUS    VD_roundtoUS
  469. #define VE_roundtoU     VD_roundtoU
  470. #define VE_roundtoUL    VD_roundtoUL
  471.  
  472. #define VE_floor        VD_floor
  473. #define VE_floortoSI    VD_floortoSI
  474. #define VE_floortoI     VD_floortoI
  475. #define VE_floortoLI    VD_floortoLI
  476. #define VE_floortoQI    VD_floortoQI
  477. #define VE_floortoUS    VD_floortoUS
  478. #define VE_floortoU     VD_floortoU
  479. #define VE_floortoUL    VD_floortoUL
  480.  
  481. #define VE_ceil        VD_ceil
  482. #define VE_ceiltoSI    VD_ceiltoSI
  483. #define VE_ceiltoI     VD_ceiltoI
  484. #define VE_ceiltoLI    VD_ceiltoLI
  485. #define VE_ceiltoQI    VD_ceiltoQI
  486. #define VE_ceiltoUS    VD_ceiltoUS
  487. #define VE_ceiltoU     VD_ceiltoU
  488. #define VE_ceiltoUL    VD_ceiltoUL
  489.  
  490. #define VE_chop        VD_chop
  491. #define VE_choptoSI    VD_choptoSI
  492. #define VE_choptoI     VD_choptoI
  493. #define VE_choptoLI    VD_choptoLI
  494. #define VE_choptoQI    VD_choptoQI
  495. #define VE_choptoUS    VD_choptoUS
  496. #define VE_choptoU     VD_choptoU
  497. #define VE_choptoUL    VD_choptoUL
  498.  
  499. #define VE_trunc       VE_chop
  500. #define VE_trunctoSI   VE_choptoSI
  501. #define VE_trunctoI    VE_choptoI
  502. #define VE_trunctoLI   VE_choptoLI
  503. #define VE_trunctoQI   VE_choptoQI
  504. #define VE_trunctoUS   VE_choptoUS
  505. #define VE_trunctoU    VE_choptoU
  506. #define VE_trunctoUL   VE_choptoUL
  507.  
  508. #define VE_roundtoUI VE_roundtoU
  509. #define VE_floortoUI VE_floortoU
  510. #define VE_ceiltoUI  VE_ceiltoU
  511. #define VE_choptoUI  VE_choptoU
  512. #define VE_trunctoUI VE_trunctoU
  513.  
  514. #define VE_cmp0         VD_cmp0
  515. #define VE_cmp_eq0      VD_cmp_eq0
  516. #define VE_cmp_ne0      VD_cmp_ne0
  517. #define VE_cmp_le0      VD_cmp_le0
  518. #define VE_cmp_lt0      VD_cmp_lt0
  519. #define VE_cmp_ge0      VD_cmp_ge0
  520. #define VE_cmp_gt0      VD_cmp_gt0
  521.  
  522. #define VE_cmp_eq0ind   VD_cmp_eq0ind
  523. #define VE_cmp_ne0ind   VD_cmp_ne0ind
  524. #define VE_cmp_le0ind   VD_cmp_le0ind
  525. #define VE_cmp_lt0ind   VD_cmp_lt0ind
  526. #define VE_cmp_ge0ind   VD_cmp_ge0ind
  527. #define VE_cmp_gt0ind   VD_cmp_gt0ind
  528.  
  529. #define VE_cmpC         VD_cmpC
  530. #define VE_cmp_eqC      VD_cmp_eqC
  531. #define VE_cmp_neC      VD_cmp_neC
  532. #define VE_cmp_leC      VD_cmp_leC
  533. #define VE_cmp_ltC      VD_cmp_ltC
  534. #define VE_cmp_geC      VD_cmp_geC
  535. #define VE_cmp_gtC      VD_cmp_gtC
  536.  
  537. #define VE_cmp_eqCind   VD_cmp_eqCind
  538. #define VE_cmp_neCind   VD_cmp_neCind
  539. #define VE_cmp_leCind   VD_cmp_leCind
  540. #define VE_cmp_ltCind   VD_cmp_ltCind
  541. #define VE_cmp_geCind   VD_cmp_geCind
  542. #define VE_cmp_gtCind   VD_cmp_gtCind
  543.  
  544. #define VE_cmpV         VD_cmpV
  545. #define VE_cmp_eqV      VD_cmp_eqV
  546. #define VE_cmp_neV      VD_cmp_neV
  547. #define VE_cmp_leV      VD_cmp_leV
  548. #define VE_cmp_ltV      VD_cmp_ltV
  549. #define VE_cmp_geV      VD_cmp_geV
  550. #define VE_cmp_gtV      VD_cmp_gtV
  551.  
  552. #define VE_cmp_eqVind   VD_cmp_eqVind
  553. #define VE_cmp_neVind   VD_cmp_neVind
  554. #define VE_cmp_leVind   VD_cmp_leVind
  555. #define VE_cmp_ltVind   VD_cmp_ltVind
  556. #define VE_cmp_geVind   VD_cmp_geVind
  557. #define VE_cmp_gtVind   VD_cmp_gtVind
  558.  
  559. #define VE_equC         VD_equC
  560. #define VE_equV         VD_equV
  561. #define VEx_equV        VDx_equV
  562. #define VE_addC         VD_addC
  563. #define VE_subC         VD_subC
  564. #define VE_subrC        VD_subrC
  565. #define VE_mulC         VD_mulC
  566. #define VE_divC         VD_divC
  567. #define VE_divrC        VD_divrC
  568. #define VEx_divrC       VDx_divrC
  569.  
  570. #define VE_addV         VD_addV
  571. #define VE_subV         VD_subV
  572. #define VE_subrV        VD_subrV
  573. #define VE_mulV         VD_mulV
  574. #define VE_divV         VD_divV
  575. #define VE_divrV        VD_divrV
  576.  
  577. #define VEx_addV        VDx_addV
  578. #define VEx_subV        VDx_subV
  579. #define VEx_subrV       VDx_subrV
  580. #define VEx_mulV        VDx_mulV
  581. #define VEx_divV        VDx_divV
  582. #define VEx_divrV       VDx_divrV
  583.  
  584. #define VEs_addV        VDs_addV
  585. #define VEs_subV        VDs_subV
  586. #define VEs_subrV       VDs_subrV
  587. #define VEs_mulV        VDs_mulV
  588. #define VEs_divV        VDs_divV
  589. #define VEs_divrV       VDs_divrV
  590.  
  591. #define VE_accV         VD_accV
  592. #define VE_accVF        VD_accVF
  593. #define VE_accVD        VE_accV
  594. #define VE_accVBI       VD_accVBI
  595. #define VE_accVSI       VD_accVSI
  596. #define VE_accVI        VD_accVI
  597. #define VE_accVLI       VD_accVLI
  598. #define VE_accVQI       VD_accVQI
  599. #define VE_accVUB       VD_accVUB
  600. #define VE_accVUS       VD_accVUS
  601. #define VE_accVU        VD_accVU
  602. #define VE_accVUL       VD_accVUL
  603. #define VE_accVUI       VD_accVUI
  604.  
  605. #define VE_maxC         VD_maxC
  606. #define VE_minC         VD_minC
  607. #define VE_limit        VD_limit
  608. #define VE_flush0       VD_flush0
  609. #define VE_maxV         VD_maxV
  610. #define VE_minV         VD_minV
  611. #define VE_modC         VD_modC
  612. #define VE_modV         VD_modV
  613. #define VEx_modV        VDx_modV
  614. #define VE_fmodC        VE_modC
  615. #define VE_fmodV        VE_modV
  616. #define VEx_fmodV       VEx_modV
  617.  
  618. #define VE_redC         VD_redC
  619. #define VE_redV         VD_redV
  620. #define VEx_redV        VDx_redV
  621. #define VE_visC         VD_visC
  622. #define VE_visV         VD_visV
  623. #define VEx_visV        VDx_visV
  624. #define VE_hypC         VD_hypC
  625. #define VE_hypV         VD_hypV
  626. #define VEx_hypV        VDx_hypV
  627.  
  628. #define VE_sgn          VE_cmp0
  629.  
  630. #define VE_subvector_equC   VD_subvector_equC
  631. #define VE_subvector_equV   VD_subvector_equV
  632. #define VE_subvector_addC   VD_subvector_addC
  633. #define VE_subvector_subC   VD_subvector_subC
  634. #define VE_subvector_subrC  VD_subvector_subrC
  635. #define VE_subvector_mulC   VD_subvector_mulC
  636. #define VE_subvector_divC   VD_subvector_divC
  637. #define VE_subvector_divrC  VD_subvector_divrC
  638.  
  639. #define VE_subvector_addV   VD_subvector_addV
  640. #define VE_subvector_subV   VD_subvector_subV
  641. #define VE_subvector_subrV  VD_subvector_subrV
  642. #define VE_subvector_mulV   VD_subvector_mulV
  643. #define VE_subvector_divV   VD_subvector_divV
  644. #define VE_subvector_divrV  VD_subvector_divrV
  645.  
  646. /**********************  Mathematical Functions ***********************/
  647.  
  648. #define VE_abs          VD_abs
  649. #define VE_neg          VD_neg
  650. #define VE_inv          VD_inv
  651. #define VEx_inv         VDx_inv
  652. #define VE_intfrac      VD_intfrac
  653. #define VE_modf         VE_intfrac
  654. #define VE_mantexp      VD_mantexp
  655. #define VE_frexp        VE_mantexp
  656. #define VE_hypotC       VD_hypotC
  657. #define VE_hypotV       VD_hypotV
  658. #define VEx_hypotV      VDx_hypotV
  659. #define VE_scale2       VD_scale2
  660. #define VE_ldexp        VE_scale2
  661. #define VE_scale10      VD_scale10
  662. #define VE_square       VD_square
  663. #define VEx_square      VDx_square
  664. #define VE_cubic        VD_cubic
  665. #define VEx_cubic       VDx_cubic
  666. #define VE_quartic      VD_quartic
  667. #define VEx_quartic     VDx_quartic
  668. #define VE_poly         VD_poly
  669. #define VEx_poly        VDx_poly
  670. #define VE_ipow         VD_ipow
  671. #define VEx_ipow        VDx_ipow
  672. #define VE_ipow2        VD_ipow2
  673. #define VE_ipow10       VD_ipow10
  674. #define VE_pow          VD_pow
  675. #define VEx_pow         VDx_pow
  676. #define VE_pow2         VD_pow10
  677. #define VEx_pow2        VDx_pow10
  678. #define VE_pow10        VD_pow10
  679. #define VEx_pow10       VDx_pow10
  680. #define VE_sqrt         VD_sqrt
  681. #define VEx_sqrt        VDx_sqrt
  682. #define VE_log          VD_log
  683. #define VEx_log         VDx_log
  684. #define VE_log2         VD_log2
  685. #define VEx_log2        VDx_log2
  686. #define VE_log10        VD_log10
  687. #define VEx_log10       VDx_log10
  688. #define VE_ln           VE_log
  689. #define VEx_ln          VEx_log
  690. #define VE_exp          VD_exp
  691. #define VE_OD           VD_OD
  692. #define VE_ODwDark      VD_ODwDark
  693. #define VE_setODThresh  VD_setODThresh
  694. #define VEx_exp         VDx_exp
  695. #define VE_expArbBase   VD_expArbBase
  696. #define VEx_expArbBase  VDx_expArbBase
  697. #define VE_expc         VD_expc
  698. #define VEx_expc        VDx_expc
  699. #define VE_exp2         VD_exp2
  700. #define VEx_exp2        VDx_exp2
  701. #define VE_erf          VD_erf
  702. #define VEx_erf         VDx_erf 
  703. #define VE_erfc         VD_erfc
  704. #define VEx_erfc        VDx_erfc
  705. #define VE_Gauss        VD_Gauss
  706. #define VE_Lorentz      VD_Lorentz
  707. #define VE_sin          VD_sin
  708. #define VEx_sin         VDx_sin
  709. #define VE_cos          VD_cos
  710. #define VEx_cos         VDx_cos
  711. #define VE_sincos       VD_sincos
  712. #define VEx_sincos      VDx_sincos
  713. #define VE_tan          VD_tan
  714. #define VEx_tan         VDx_tan
  715. #define VE_cot          VD_cot
  716. #define VEx_cot         VDx_cot
  717. #define VE_sec          VD_sec
  718. #define VEx_sec         VDx_sec
  719. #define VE_cosec        VD_cosec
  720. #define VEx_cosec       VDx_cosec
  721. #define VE_sin2         VD_sin2
  722. #define VEx_sin2        VDx_sin2
  723. #define VE_cos2         VD_cos2
  724. #define VEx_cos2        VDx_cos2
  725. #define VE_sincos2      VD_sincos2
  726. #define VEx_sincos2     VDx_sincos
  727. #define VE_tan2         VD_tan2
  728. #define VEx_tan2        VDx_tan2
  729. #define VE_cot2         VD_cot2
  730. #define VEx_cot2        VDx_cot2
  731. #define VE_sec2         VD_sec2
  732. #define VEx_sec2        VDx_sec2
  733. #define VE_cosec2       VD_cosec2
  734. #define VEx_cosec2      VDx_cosec2
  735. #define VE_sinrpi       VD_sinrpi
  736. #define VEx_sinrpi      VDx_sinrpi
  737. #define VE_cosrpi       VD_cosrpi
  738. #define VEx_cosrpi      VDx_cosrpi
  739. #define VE_sincosrpi    VD_sincosrpi
  740. #define VEx_sincosrpi   VDx_sincos
  741. #define VE_tanrpi       VD_tanrpi
  742. #define VEx_tanrpi      VDx_tanrpi
  743. #define VE_cotrpi       VD_cotrpi
  744. #define VEx_cotrpi      VDx_cotrpi
  745. #define VE_secrpi       VD_secrpi
  746. #define VEx_secrpi      VDx_secrpi
  747. #define VE_cosecrpi     VD_cosecrpi
  748. #define VEx_cosecrpi    VDx_cosecrpi
  749. #define VE_sinrpi2      VD_sinrpi2
  750. #define VEx_sinrpi2     VDx_sinrpi2
  751. #define VE_cosrpi2      VD_cosrpi2
  752. #define VEx_cosrpi2     VDx_cosrpi2
  753. #define VE_sincosrpi2   VD_sincosrpi2
  754. #define VEx_sincosrpi2  VDx_sincos
  755. #define VE_tanrpi2      VD_tanrpi2
  756. #define VEx_tanrpi2     VDx_tanrpi2
  757. #define VE_cotrpi2      VD_cotrpi2
  758. #define VEx_cotrpi2     VDx_cotrpi2
  759. #define VE_secrpi2      VD_secrpi2
  760. #define VEx_secrpi2     VDx_secrpi2
  761. #define VE_cosecrpi2    VD_cosecrpi2
  762. #define VEx_cosecrpi2   VDx_cosecrpi2
  763. #define VE_sinrpi3      VD_sinrpi3
  764. #define VEx_sinrpi3     VDx_sinrpi3
  765. #define VE_cosrpi3      VD_cosrpi3
  766. #define VEx_cosrpi3     VDx_cosrpi3
  767. #define VE_sincosrpi3   VD_sincosrpi3
  768. #define VEx_sincosrpi3  VDx_sincos
  769. #define VE_tanrpi3      VD_tanrpi3
  770. #define VEx_tanrpi3     VDx_tanrpi3
  771. #define VE_cotrpi3      VD_cotrpi3
  772. #define VEx_cotrpi3     VDx_cotrpi3
  773. #define VE_secrpi3      VD_secrpi3
  774. #define VEx_secrpi3     VDx_secrpi3
  775. #define VE_cosecrpi3    VD_cosecrpi3
  776. #define VEx_cosecrpi3   VDx_cosecrpi3
  777. #define VE_sinc         VD_sinc
  778. #define VEx_sinc        VDx_sinc
  779. #define VE_Kepler       VD_Kepler
  780. #define VEx_Kepler      VDx_Kepler
  781. #define VE_asin         VD_asin
  782. #define VEx_asin        VDx_asin
  783. #define VE_acos         VD_acos
  784. #define VEx_acos        VDx_acos
  785. #define VE_atan         VD_atan
  786. #define VEx_atan        VDx_atan
  787. #define VE_atan2        VD_atan2
  788. #define VEx_atan2       VDx_atan2
  789. #define VE_sinh         VD_sinh
  790. #define VEx_sinh        VDx_sinh
  791. #define VE_cosh         VD_cosh
  792. #define VEx_cosh        VDx_cosh
  793. #define VE_tanh         VD_tanh
  794. #define VEx_tanh        VDx_tanh
  795. #define VE_coth         VD_coth
  796. #define VEx_coth        VDx_coth
  797. #define VE_sech         VD_sech
  798. #define VEx_sech        VDx_sech
  799. #define VE_cosech       VD_cosech
  800. #define VEx_cosech      VDx_cosech
  801. #define VE_sech2        VD_sech2
  802. #define VEx_sech2       VDx_sech2
  803.  
  804. #endif  /* Borland or Microsoft */
  805.  
  806. #define VE_gauss   VE_Gauss
  807. #define VE_lorentz VE_Lorentz
  808. #define VE_kepler  VE_Kepler
  809. #define VEx_kepler VEx_Kepler
  810.  
  811. #ifdef __cplusplus
  812. }
  813. #endif
  814.  
  815.  
  816. #endif /* __VEMATH_H */
  817.